package com.example.langchain4j.assistant;

import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;
import dev.langchain4j.service.spring.AiService;
import dev.langchain4j.service.spring.AiServiceWiringMode;

@AiService(
        wiringMode = AiServiceWiringMode.EXPLICIT,
        chatModel = "qwenChatModel" ,
       // contentRetriever = "contentRetrieverMilvus",
        chatMemoryProvider = "chatMemoryProvider"
)
public interface AssistantAgent {
    //根据文档1和文档2生成文档3
//    @SystemMessage(fromResource = "json-generation-prompt-template.txt")
    @UserMessage(fromResource = "json-generation-prompt-template.txt")
    String chat(
            @V("document1")String document1Content,
            @V("document2")String document2Content,
            @V("jsonTemplate")String jsonTemplate
    );

    @UserMessage("""
            你是根据模板生成语句的专家，请根据用户提供的违法事实和模板语句，生成用户提供的违法事实对应语句。
            模板：xx违法事实1、xx违法事实2，涉嫌违反了《XXXX法规》第XX条第一款第（X）项之规定，建议立案查处。
            用户提供的违法事实：{{fault}}。这些违法事实，违反了什么？
            说明：只需要违法事实对应语句，不需要生成其他内容。
            """)
    String chat(@V("fault") String message);

}
